floating value wrong calculations